Skip to main content

Full text of "Hacks and Mods"

See other formats

Electronic Timer for a Dishwasher 


Make Projects 

build, hack, tweak, share, discover. 

Electronic Timer for a 

Written By: Miguel Marcos 


WARNING: The circuits shown herein do not provide isolation from the AC mains, and 
therefore any part of the circuit can be exposed to dangerous voltages relative to earth 
ground. Extreme care must be observed in testing or handling these circuits while connected 
to the powerline. 

AM486 appliance modules are essentially relays that are rated for 120V/15A and thus they 
are well suited to the task at hand. These relays are of a bi-stable design, meaning that they 
require no holding current to remain either open or closed but additional circuitry is required 
to determine their current state. 

For this project one relay was allocated to each of the functions in the dishwasher which are: 

pump motorwater filldrainsoap dispenser #1soap dispenser #2blower motor 

© Make Projects Page 1 of 4 

Electronic Timer for a Dishwasher 

Step 1 — Electronic Timer for a Dishwasher 




■ -■ ■■ A- 


CONTROL uH°5| /5 













• The first step consisted in 
performing a reverse-engineering 
analysis of the circuitry used on 
the AM486 modules. 

• The PCB uses a single copper 
layer which makes it very easy to 
trace the circuit. My analysis was 
confined to these areas: Power 
supply; Relay control; Relay state 

• The attached schematic shows the 
diagram for each area. Upper-left 
corner: relay state sensing; Upper- 
right corner: power supply; Middle: 
relay control; Bottom: dishwasher 

Step 2 

• For the next phase of the analysis I removed all of the unnecessary components from the 
PCB and attached an Arduino Pro Mini board by connecting: 

• The RAW and +5V signals to the corresponding power signals of the Arduino board, 

• The CONTROL signal to one of the digital outputs, 

• The SENSE signal to one of the analog inputs. 

• To aid in the development, I also connected a BluetoothMate module to the Arduino board. 
This way I could send commands and debugging data to and from my development PC. 

• CAUTION: Since the circuits that we are dealing with here are not isolated from the AC 
mains, it would likely be very unwise to attempt to make a wired connection from the 
Arduino board to a PC's serial port. 

© Make Projects 

Page 2 of 4 

Electronic Timer for a Dishwasher 

Step 3 

• I soon found out that the current draw from the Arduino+Bluetooth was overloading the 
transformerless power supply of the AM486 module. However, simply increasing the value 
of C3 and choosing components for D2 and R8 with a suitably higher power dissipation 
rating solved the issue. 

• Through experimentation I determined that the relay can be reliably actuated by sending 4 
1-ms pulses evenly spaced over one powerline AC cycle. 

• The analog values read from the sensing circuit were like this: 

• OV if the relay switch is open and the load is disconnected; 

• Toggling between and 5V (in sync with the AC) if the relay switch is open but the load 
is connected; 

• 5V if the relay switch is closed regardless of whether the load is connected or not. Thus 
the final scheme adopted for sensing the state of the relay was to sample the analog 
input for about 2 powerline AC cycles and return the average value. 

• The final revision of the Arduino sketch used for analyzing the relay circuit behavior is in 
the "dishwasher1.pdf" attachment. 

Step 4 

• Once the circuits and basic control software have been identified, what remains is to 
harvest the necessary components from the AM486 modules, assemble them onto the 
project's circuit board, and write the Arduino sketch that controls the timing of the relays to 
emulate the operation of the electromechanical timer. 

• Clearly, because there are multiple functions to control in the dishwasher, the relay control 
and state sensing circuits have to be replicated that many times with each CONTROL or 
SENSE signal connected to a corresponding digital or analog pin on the Arduino board. 

• Luckily, the Arduino Pro Mini board is provisioned with enough digital and analog pins that 
one doesn't need to come up with any sharing schemes (such as using multiplexers). 

• The Arduino sketch used to control the dishwasher timer is contained in the attachment 

© Make Projects Page 3 of 4 

Electronic Timer for a Dishwasher 

Step 5 

• Attachment of the electronic timer assembly to the dishwasher was straightforward: it fit 
nicely behind the front cover and the function wires along with the AC live and neutral were 
moved directly from the electromechanical timer to the terminals provided on the circuit 

This document was last generated on 2012-11-03 01 :12:21 AM. 

© Make Projects 

Page 4 of 4